Kubernetes v1.29: Introducing Mandala
Kubernetes has announced the release of version 1.29, named Mandala (The Universe). This release introduces new stable, beta, and alpha features, continuing the tradition of delivering top-notch releases. The v1.29 release includes 49 enhancements, with 11 graduating to Stable, 19 entering Beta, and 19 graduating to Alpha.
Some of the stable improvements in v1.29 include:
- ReadWriteOncePod PersistentVolume access mode, which allows multiple pods on the same node to read from and write to the same volume.
- Node volume expansion Secret support for CSI drivers, which allows secrets to be sent as part of the node expansion process.
- KMS v2 encryption at rest, which provides improvements in performance, key rotation, health check & status, and observability for encrypting persisted API data.
Beta improvements in v1.29 include:
- QueueingHint feature for optimizing the efficiency of requeueing in the scheduler.
- Separation of node lifecycle from taint management, allowing for more granular control over taint-based pod eviction.
- Clean up for legacy Secret-based ServiceAccount tokens, marking them as invalid if they have not been used for a long time.
Alpha features in v1.29 include:
- Defining Pod affinity or anti-affinity using matchLabelKeys, improving calculation accuracy during rolling updates.
- nftables backend for kube-proxy, providing a new backend based on nftables for packet filtering and processing.
- APIs to manage IP address ranges for Services, allowing for dynamic allocation and resizing of IP ranges.
- Support for image pull per runtime class in containerd/kubelet/CRI, enabling the pulling of different images based on the runtime class specified.
- In-place updates for Pod resources for Windows Pods, allowing for changes to the desired resource requests and limits without restarting the Pod.
The release also includes the graduation of 11 enhancements to Stable, the deprecation of in-tree integrations with cloud providers, the removal of the v1beta2 flow control API group, the deprecation of the status.nodeInfo.kubeProxyVersion field for Node objects, and the removal of legacy Linux package repositories.
Kubernetes v1.29 is available for download on GitHub, and users can get started with Kubernetes using interactive tutorials or by running local clusters using minikube. The release team, consisting of dedicated community volunteers, has worked hard to deliver this release, with contributions from 888 companies and 1422 individuals during the 14-week release cycle.
For more details about the v1.29 release, including the full list of enhancements and graduations, users can refer to the release notes.